              Cab Alt       Rate     cab Diff
1000'       < 1000'       +400ftm     1.5
2000'       < 1000'       +400ftm     1.5
3000'       < 1000'       +400ftm     2.0
4000'       < 1000'       +400ftm     2.0/2.5
5000'       < 1000'       +400ftm     2.5/3.0
6000'       < 1000'       +400ftm     2.7/3.0
7000'       < 1000'       +400ftm     2.9/3.1
8000'       < 1000'       +400ftm     3.1/3.5
9000'       < 1000'       +400ftm     3.5/3.9
10000'      < 1600'       +400ftm     4.0
11000'      < 1800'       +400ftm     4.1
12000'      < 2000'       +400ftm     4.2
13000'      < 2100'       +400ftm     4.7
14000'      < 2500'       +400ftm     4.7
15000'      < 3000'       +400ftm     5.0
16000'      < 3100'       +400ftm     5.1
17000'      < 3500'       +400ftm     5.3
18000'      < 4100'       +400ftm     5.7
19000'      < 4500'       +400ftm     5.7
20000'      < 5000'       +400ftm     5.8
21000'      < 5100'       +400ftm     5.9
22000'      < 5100'       +400ftm     5.9
23000'      < 5300'       +400ftm     6.0
24000'      < 5500'       +400ftm     6.0
25000'      < 6000'       +400ftm     6.0

With Fast Rate will be +/-500ftm


<Max alt cab Schedule based on FL>
 <Element>
 <Select>
 <Value>
(A:INDICATED ALTITUDE, feet) 10000 &lt; if{ 10000 (&gt;L:alt cab Schedule, number) }
(A:INDICATED ALTITUDE, feet) 10000 &gt; (A:INDICATED ALTITUDE, feet) 12000 &lt; and if{ 20000 (&gt;L:alt cab Schedule, number) }
(A:INDICATED ALTITUDE, feet) 12000 &gt; (A:INDICATED ALTITUDE, feet) 15000 &lt; and if{ 30000 (&gt;L:alt cab Schedule, number) }
(A:INDICATED ALTITUDE, feet) 15000 &gt; (A:INDICATED ALTITUDE, feet) 18000 &lt; and if{ 40000 (&gt;L:alt cab Schedule, number) }
(A:INDICATED ALTITUDE, feet) 18000 &gt; (A:INDICATED ALTITUDE, feet) 21000 &lt; and if{ 50000 (&gt;L:alt cab Schedule, number) }
(A:INDICATED ALTITUDE, feet) 21000 &gt; (A:INDICATED ALTITUDE, feet) 27000 &lt; and if{ 60000 (&gt;L:alt cab Schedule, number) }
 </Value>
 </Select>
 </Element>

   <Element Name ="Autosched">
      <Select>
         <Value>
		(L:Press_Auto, bool) 0 == (L:Dump_valve, bool) 0 == and (L:press_sys_on,number) 1 == and if{ 
              1 (&gt;L:Autosched_press, bool) } els{ 0 (&gt;L:Autosched_press, bool) }
		 </Value>
      </Select>
  </Element>

  <Element Name="bleed air switches">
      <Select>
         <Value>
			(A:GENERAL ENG1 COMBUSTION, bool) 1 == (L:ENG_1_BLEED_VALVE,bool) 1 == and
			(A:GENERAL ENG2 COMBUSTION, bool) 1 == (L:ENG_2_BLEED_VALVE,bool) 1 == and or
			(A:Airspeed select indicated or true,knots) 80 &gt; and (L:dump_valve_operating, bool) ! and
				if{ 1 (&gt;L:press_sys_on,number) }
				els{ 0 (&gt;L:press_sys_on,number) }</Value>
      </Select>
  </Element>

  <Element Name="Cabin Pressurising">
      <Select>
         <Value>(L:cabin_blew, enum) ! (L:Dump_valve, bool) 0 == and (L:press_sys_on,number) 1 == and (A:CANOPY OPEN,part) 0 == and 
          if{ 1 (&gt;L:Cabin_Pressurising, number) } els{ 0 (&gt;L:Cabin_Pressurising, number) } </Value>
      </Select>
  </Element>

  <Element>
      <Select>
         <Value>(L:cabin_diff,number) 8.5 &gt; if{ 1 (&gt;L:Cabin_blew, enum) }</Value>
      </Select>
  </Element>

 <Element>
 <Select>
 <Value>
        (A:INDICATED ALTITUDE, feet) 28000 &gt; if{ 1 (&gt;L:Cabin_blew, enum) 0 (&gt;L:Cabin_Pressurising, number) } 
 </Value>
 </Select>
 </Element>

  <Element Name="Rate Schedule">
      <Select>
         <Value>(L:Cabin_Pressurising, number) 1 == (L:Press_Auto, bool) 1 == and 
            if{ (L:Vertical speed, number) 0 &gt; if{ (L:alt cab actual, number) (L:Vertical speed, number) + (&gt;L:alt cab actual, number) } }
            if{ (L:Vertical speed, number) 0 &lt; if{ (L:alt cab actual, number) (L:Vertical speed, number) - (&gt;L:alt cab actual, number) } }
            if{ (L:Vertical speed, number) 0 == if{ (L:alt cab actual, number) (L:Vertical speed, number) + (&gt;L:alt cab actual, number) } }</Value>
      </Select>
  </Element>

  <Element>
      <Select>
         <Value>(L:Cabin_Pressurising, number) 1 == (L:Autosched_press, bool) and 
            if{ (L:Vertical speed, number) 0 &gt; if{ (L:alt cab actual, number) (L:Vertical speed, number) + (&gt;L:alt cab actual, number) } }
            if{ (L:Vertical speed, number) 0 &lt; if{ (L:alt cab actual, number) (L:Vertical speed, number) - (&gt;L:alt cab actual, number) } }
            if{ (L:Vertical speed, number) 0 == if{ (L:alt cab actual, number) (L:Vertical speed, number) + (&gt;L:alt cab actual, number) } }</Value>
      </Select>
  </Element>

 <Element>
   <Select>
    <Value> (L:Cabin_Pressurising, number) 1 == (L:Autosched_press, bool) and 
                                if{ (L:alt cab actual, number) 10 * (L:alt cab Schedule, number) &lt; if{ 400 (&gt;L:Vertical speed, number) } }
                               els{ (L:alt cab actual, number) 10 * (L:alt cab Schedule, number) &gt; if{ (L:DUMP_FAST, bool) 1 == if{ -500 (&gt;L:Vertical speed, number) } 
                                                                                                                             els{ -400 (&gt;L:Vertical speed, number) } } }
 </Value>
 </Select>
 </Element>

  <Element>
      <Select>
         <Value>(L:Cabin_Pressurising, number) 1 == if{ (A:Sim on ground, bool) 0 &gt; if{ 0 (&gt;L:Vertical speed, number) } }</Value>
      </Select>
  </Element>
  <Element>
      <Select>
         <Value>(L:Cabin_Pressurising, number) 0 == if{ (A:Vertical Speed, feet per minute) (&gt;L:Vertical speed, number) 
                                                        (A:INDICATED ALTITUDE, Feet) (&gt;L:alt cab actual, number) }</Value>
      </Select>
  </Element>



  <Element Name="Depressurisation Rate">
   <Select>
    <Value> (L:Dump_valve, bool) if{ (L:alt cab actual, number) (A:INDICATED ALTITUDE, Feet) &lt; if{ 1000 (&gt;L:Vertical speed, number) } }
                                els{ (L:alt cab actual, number) (A:INDICATED ALTITUDE, Feet) &gt; if{ -1000 (&gt;L:Vertical speed, number) } } 
 </Value>
 </Select>
 </Element>














 <Element>
 <Select>
 <Value> (A:AUTOPILOT ALTITUDE LOCK VAR, feet) (A:INDICATED ALTITUDE, feet) &gt;= (A:Vertical speed, feet per minute) 50 &gt; and and if{
         (L:DUMP_FAST, bool) 0 == (L:Dump_valve, bool) 0 == and if{ 
   (A:INDICATED ALTITUDE, feet) 10000 &lt; and if{ 
                             (L:ALT_Cabpress, number) 1000 &lt; if{ (L:ALT_Cabpress, number) 0.4 + (&gt;L:ALT_Cabpress, number) } }
   (A:INDICATED ALTITUDE, feet) 12000 &lt; and if{ 
                             (L:ALT_Cabpress, number) 2000 &lt; if{ (L:ALT_Cabpress, number) 0.4 + (&gt;L:ALT_Cabpress, number) } }
   (A:INDICATED ALTITUDE, feet) 15000 &lt; and if{ 
                             (L:ALT_Cabpress, number) 3000 &lt; if{ (L:ALT_Cabpress, number) 0.4 + (&gt;L:ALT_Cabpress, number) } }
   (A:INDICATED ALTITUDE, feet) 18000 &lt; and if{ 
                             (L:ALT_Cabpress, number) 4000 &lt; if{ (L:ALT_Cabpress, number) 0.4 + (&gt;L:ALT_Cabpress, number) } }
   (A:INDICATED ALTITUDE, feet) 21000 &lt; and if{ 
                             (L:ALT_Cabpress, number) 5000 &lt; if{ (L:ALT_Cabpress, number) 0.4 + (&gt;L:ALT_Cabpress, number) } }
   (A:INDICATED ALTITUDE, feet) 25000 &lt; and if{ 
                             (L:ALT_Cabpress, number) 6000 &lt; if{ (L:ALT_Cabpress, number) 0.4 + (&gt;L:ALT_Cabpress, number) } } }
         (L:DUMP_FAST, bool) 1 == (L:Dump_valve, bool) 0 == and if{ 
   (A:INDICATED ALTITUDE, feet) 10000 &lt; and if{ 
                             (L:ALT_Cabpress, number) 1000 &lt; if{ (L:ALT_Cabpress, number) 0.5 + (&gt;L:ALT_Cabpress, number) } }
   (A:INDICATED ALTITUDE, feet) 12000 &lt; and if{ 
                             (L:ALT_Cabpress, number) 2000 &lt; if{ (L:ALT_Cabpress, number) 0.5 + (&gt;L:ALT_Cabpress, number) } }
   (A:INDICATED ALTITUDE, feet) 15000 &lt; and if{ 
                             (L:ALT_Cabpress, number) 3000 &lt; if{ (L:ALT_Cabpress, number) 0.5 + (&gt;L:ALT_Cabpress, number) } }
   (A:INDICATED ALTITUDE, feet) 18000 &lt; and if{ 
                             (L:ALT_Cabpress, number) 4000 &lt; if{ (L:ALT_Cabpress, number) 0.5 + (&gt;L:ALT_Cabpress, number) } }
   (A:INDICATED ALTITUDE, feet) 21000 &lt; and if{ 
                             (L:ALT_Cabpress, number) 5000 &lt; if{ (L:ALT_Cabpress, number) 0.5 + (&gt;L:ALT_Cabpress, number) } }
   (A:INDICATED ALTITUDE, feet) 25000 &lt; and if{ 
                             (L:ALT_Cabpress, number) 6000 &lt; if{ (L:ALT_Cabpress, number) 0.5 + (&gt;L:ALT_Cabpress, number) } } } }

(A:AUTOPILOT ALTITUDE LOCK VAR, feet) (A:INDICATED ALTITUDE, feet) &lt;= (A:Vertical speed, feet per minute) -50 &lt; and and if{
         (L:DUMP_FAST, bool) 0 == (L:Dump_valve, bool) 0 == and if{ 
   (A:INDICATED ALTITUDE, feet) 10000 &lt; and if{ 
                             (L:ALT_Cabpress, number) 1000 &lt; if{ (L:ALT_Cabpress, number) 0.4 - (&gt;L:ALT_Cabpress, number) } }
   (A:INDICATED ALTITUDE, feet) 12000 &lt; and if{ 
                             (L:ALT_Cabpress, number) 2000 &lt; if{ (L:ALT_Cabpress, number) 0.4 - (&gt;L:ALT_Cabpress, number) } }
   (A:INDICATED ALTITUDE, feet) 15000 &lt; and if{ 
                             (L:ALT_Cabpress, number) 3000 &lt; if{ (L:ALT_Cabpress, number) 0.4 - (&gt;L:ALT_Cabpress, number) } }
   (A:INDICATED ALTITUDE, feet) 18000 &lt; and if{ 
                             (L:ALT_Cabpress, number) 4000 &lt; if{ (L:ALT_Cabpress, number) 0.4 - (&gt;L:ALT_Cabpress, number) } }
   (A:INDICATED ALTITUDE, feet) 21000 &lt; and if{ 
                             (L:ALT_Cabpress, number) 5000 &lt; if{ (L:ALT_Cabpress, number) 0.4 - (&gt;L:ALT_Cabpress, number) } }
   (A:INDICATED ALTITUDE, feet) 25000 &lt; and if{ 
                             (L:ALT_Cabpress, number) 6000 &lt; if{ (L:ALT_Cabpress, number) 0.4 - (&gt;L:ALT_Cabpress, number) } } }
         (L:DUMP_FAST, bool) 1 == (L:Dump_valve, bool) 0 == and if{ 
   (A:INDICATED ALTITUDE, feet) 10000 &lt; and if{ 
                             (L:ALT_Cabpress, number) 1000 &lt; if{ (L:ALT_Cabpress, number) 0.5 - (&gt;L:ALT_Cabpress, number) } }
   (A:INDICATED ALTITUDE, feet) 12000 &lt; and if{ 
                             (L:ALT_Cabpress, number) 2000 &lt; if{ (L:ALT_Cabpress, number) 0.5 - (&gt;L:ALT_Cabpress, number) } }
   (A:INDICATED ALTITUDE, feet) 15000 &lt; and if{ 
                             (L:ALT_Cabpress, number) 3000 &lt; if{ (L:ALT_Cabpress, number) 0.5 - (&gt;L:ALT_Cabpress, number) } }
   (A:INDICATED ALTITUDE, feet) 18000 &lt; and if{ 
                             (L:ALT_Cabpress, number) 4000 &lt; if{ (L:ALT_Cabpress, number) 0.5 - (&gt;L:ALT_Cabpress, number) } }
   (A:INDICATED ALTITUDE, feet) 21000 &lt; and if{ 
                             (L:ALT_Cabpress, number) 5000 &lt; if{ (L:ALT_Cabpress, number) 0.5 - (&gt;L:ALT_Cabpress, number) } }
   (A:INDICATED ALTITUDE, feet) 25000 &lt; and if{ 
                             (L:ALT_Cabpress, number) 6000 &lt; if{ (L:ALT_Cabpress, number) 0.5 - (&gt;L:ALT_Cabpress, number) } } } }

 els{ (L:Dump_valve, bool) 1 == if{ (L:ALT_Cabpress, number) (A:INDICATED ALTITUDE, feet) &lt;= (L:ALT_Cabpress, number) 1 + (&gt;L:ALT_Cabpress, number) 
                                    (L:ALT_Cabpress, number) (A:INDICATED ALTITUDE, feet) &gt;= (L:ALT_Cabpress, number) 1 - (&gt;L:ALT_Cabpress, number)
                                  }

		</Value>
	</Select>
 </Element> 

 <Element>
 <Select>
 <Value> (A:AUTOPILOT ALTITUDE LOCK VAR, feet) (A:INDICATED ALTITUDE, feet) &gt;= (A:Vertical speed, feet per minute) 50 &gt; and and if{
         (L:DUMP_FAST, bool) 0 == (L:Dump_valve, bool) 0 == and if{ 400 (&gt;L:Vertical speed,feet per minute) } 
         (L:DUMP_FAST, bool) 1 == (L:Dump_valve, bool) 0 == and if{ 500 (&gt;L:Vertical speed,feet per minute) } } 
         (A:AUTOPILOT ALTITUDE LOCK VAR, feet) (A:INDICATED ALTITUDE, feet) &lt;= (A:Vertical speed, feet per minute) -50 &lt; and and if{
         (L:DUMP_FAST, bool) 0 == (L:Dump_valve, bool) 0 == and if{ -400 (&gt;L:Vertical speed,feet per minute) } 
         (L:DUMP_FAST, bool) 1 == (L:Dump_valve, bool) 0 == and if{ -500 (&gt;L:Vertical speed,feet per minute) } 
    els{ (L:Dump_valve, bool) 1 == if{ (A:Vertical speed,feet per minute) (&gt;L:Vertical speed,feet per minute) }
		</Value>
	</Select>
 </Element> 




























